AWS Service Catalogのポートフォリオ共有を試してみる
Service Catalogのポートフォリオ共有機能とは
Service Catalogには作成したポートフォリオをアカウント、もしくはOrganizations組織内に共有する機能があります。
参考:ポートフォリオの共有 - AWS Service Catalog
共有先ではポートフォリオ内の製品を起動できるため、複数アカウントで同じ製品を利用したいケースで便利な機能です。
今回はこの共有機能の手順や、動作について確認してみます。
ポートフォリオの共有手順
ポートフォリオの共有先として、アカウント個別を選ぶこともできますが、Organizations環境であれば組織全体やOUを選択して共有も可能です。
ポートフォリオの共有は、共有タブから行うことができます。
Organizations外アカウントへの共有
Organizationsを利用していないアカウント、もしくはOrganizations外の特定のアカウントへ共有する際は、共有方法を「AWSアカウント」を選択して、共有先アカウントIDを入力します。
次に、共有先のアカウントでインポートを行います。ポートフォリオの「インポートした」タブのアクションから「ポートフォリオをインポート」をクリックします。
ポートフォリオタイプはAWSアカウントのまま、ポートフォリオIDに先ほど共有したポートフォリオのIDを入力してインポートします。
これでアカウント個別にポートフォリオの共有が出来ました。
Organization組織内への共有
次はOrganizations組織内にポートフォリオ共有してみます。
管理アカウントからポートフォリオを共有する場合、「AWS Organization」と「組織ノード」が選択できます。どちらもできることは変わりませんが、「AWS Organization」だと、階層構造から共有範囲を選択、「組織ノード」ではアカウントID、OU IDを入力して共有できます。
今回は「AWS Organization」を選択して共有設定をしてみます。ここではSandboxのOUを選択して共有してみました。(Rootを選択すれば組織内全て、アカウントを選択すれば個別に共有が可能です。)
Sandbox配下のメンバーアカウントで確認してみると、「インポートした」タブに共有したポートフォリオがすぐに反映されました。
組織内の共有は組織外アカウントへの共有で行ったインポート作業が不要なので、スムーズに共有できるのがいいですね。
これでポートフォリオの共有は完了です。
共有先に共有されるもの・されないもの
次にポートフォリオ内で設定できる項目の共有がどうなるのか確認してみました。まとめると以下のようになります。
製品
共有元の設定がそのまま共有されます。また、共有元でバージョンの追加や製品の変更をおこなった場合はほぼリアルタイムで共有先に反映されます。 また、共有したポートフォリオに製品の追加や変更などは行えません。
制約
共有元の設定がそのまま共有されます。また、共有元で制約の追加・変更をおこなった場合は、ほぼリアルタイムで共有先に反映されます。制約には5つ種類がありますが、全て反映されます。それぞれの制約について詳しく知りたい方は以下を参照してください。
こちらも製品と同様、共有したポートフォリオに制約の追加や変更などは行えません。
TagOptions
デフォルトでは共有されません。共有時に次のオプションを有効化することで共有されます。このオプションは共有後にも編集が可能です。
オプションを有効化している場合は、共有元の変更が共有先に反映されます。製品や制約より少し反映に時間がかかる時もありましたが、数分程度で反映されます。 また、共有元のTagOptionsとは別に、追加で設定することも可能です。
アクセス権限
共有されません。そのため共有先で製品を起動したい場合は、グループ、ロール、およびユーザーを追加してアクセス権限を与える必要があるので注意しましょう。
参考:ユーザーへのアクセス権限の付与 - AWS Service Catalog
おわりに
Service Catalogのポートフィリオ共有を試してみました。共有自体は非常に簡単で、特に組織内であればインポート作業も不要なため、マルチアカウントで展開する際は便利に使えそうです。
利用するときは、ポートフォリオ内の設定がどこまで共有されるのかを意識して運用について考えていきたいですね。特にアクセス権限については共有されないため、メンバーアカウント側で追加する必要がある点は覚えておきましょう。